﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;

using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;



namespace vengeful_bean
{
    /// <summary>
    /// I AM THE MASTER CLASS. FEAR AND OBEY ME MOTHER FUCKERS.
    /// 
    /// (Seriously, parent me to every class) 
    /// </summary>
    abstract class GameObject
    {
        /// <summary>
        /// position of the object
        /// </summary>
        public Vector2 position;

        /// <summary>
        /// the texture of the object
        /// </summary>
        public Texture2D texture;

        /// <summary>
        /// personal update for the class
        /// </summary>
        /// <param name="gametime">time past since last time this function was called</param>
       public abstract void update(GameTime gametime);

        /// <summary>
        /// personal draw for this class
        /// </summary>
        /// <param name="gametime">time passed since last time this function was called</param>
        /// <param name="spritebatch"> the spritebatch contains the drawing and texture manipulation functions</param>
        public abstract void draw(GameTime gametime, SpriteBatch spritebatch);



        internal void Draw(GameTime gametime)
        {
            throw new NotImplementedException();
        }
    }
}
